# 定义编译器
CXX = g++

# 定义编译选项
CXXFLAGS = -Wall -Wextra -g

# 定义头文件目录（当前目录）
INCLUDE_DIR = .

# 获取当前目录下所有的 .cc 源文件
SRCS := $(wildcard *.cc)

# 获取当前目录下所有的 .h 头文件
HDRS := $(wildcard *.h)

# 自动生成目标文件列表（将 .cc 替换为 .o）
OBJS := $(SRCS:.cc=.o)

# 定义最终生成的可执行文件名称
TARGET = C13

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) $(OBJS) -o $@

# 编译每个源文件为目标文件
$(OBJS): %.o: %.cc $(HDRS)
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(OBJS) $(TARGET)